Matthias Clasen [Sun, 3 Jun 2018 23:21:33 +0000 (23:21 +0000)]
Merge branch 'gtk-3-24' into 'gtk-3-24'
GtkWindow: Handle non-square icons with height > width correctly
See merge request GNOME/gtk!173
Christian Stadelmann [Sun, 3 Jun 2018 19:05:46 +0000 (21:05 +0200)]
GtkWindow: Handle non-square icons with height > width correctly
Matthias Clasen [Sun, 3 Jun 2018 13:48:40 +0000 (09:48 -0400)]
menu: Remove unstable annotations
These apis are not going to change in GTK+ 3.x.
Matthias Clasen [Fri, 1 Jun 2018 15:59:55 +0000 (11:59 -0400)]
Drop Ctrl-Shift-e support
Now that we have Emoji completion, drop the rather limited
Ctrl-Shift-e support in GtkIMContextSimple, and leave this
sequence to input methods.
Matthias Clasen [Tue, 15 Aug 2017 21:35:03 +0000 (17:35 -0400)]
widget-factory: add emoji completion to an entry
Matthias Clasen [Sat, 19 Aug 2017 18:08:15 +0000 (14:08 -0400)]
entry: Add emoji completion
Pop up completions when the text in the entry matches :word:
This functionality has to be enabled using the enable-emoji-completion
property.
Matthias Clasen [Sat, 19 Aug 2017 18:06:47 +0000 (14:06 -0400)]
Add an emoji completion popup
This widget provides entry completion-like functionality
for Emoji codes like :grin: or :kiss:.
Matthias Clasen [Sat, 19 Aug 2017 18:07:59 +0000 (14:07 -0400)]
Export some entry functions privately
This will be used in the following commits.
Matthias Clasen [Thu, 17 May 2018 15:48:34 +0000 (16:48 +0100)]
emoji: Hide recent section when empty
This is part of https://gitlab.gnome.org/GNOME/gtk/merge_requests/143
by Julian Sperber.
Matthias Clasen [Thu, 17 May 2018 15:37:26 +0000 (16:37 +0100)]
emoji: Improve section scrolling
Leave some space above the section heading when scrolling.
This is a part of https://gitlab.gnome.org/GNOME/gtk/merge_requests/143
by Julian Sperber.
Jordi Mas [Sun, 3 Jun 2018 10:13:19 +0000 (12:13 +0200)]
Update Catalan translation
Christian Hergert [Fri, 6 May 2016 13:12:29 +0000 (16:12 +0300)]
treeview: respect expander-size style property
Without enforcement to the expander-size, we can end up rendering icons
rather fuzzy. This uses the expander-size style property to determine
the square for the icon, centered on what was the calculated space for
the expander.
Mohammed Sadiq [Thu, 31 May 2018 10:54:00 +0000 (16:24 +0530)]
widget: Fix example code in doc
Jason Zaman [Fri, 25 May 2018 03:37:45 +0000 (11:37 +0800)]
gtksocket: Adjust X sizes by scale-factor
X uses unscaled sizes, so they must be scaled properly. Otherwise
GtkSockets end up twice as big as they should be.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=765327
Signed-off-by: Jason Zaman <jason@perfinion.com>
Close !165
Matthias Clasen [Wed, 30 May 2018 02:13:04 +0000 (02:13 +0000)]
Merge branch 'gesture-docs' into 'master'
Gesture stuff
See merge request GNOME/gtk!169
(cherry picked from commit
8b24d59cde9410db28c7b61d323fa8b1f0180300)
334c7911 gesture: Fix get_last_event() docs
e9765c04 gesture: Fix code snippet
4d2b39d9 gesturemultipress: Don’t fire ::released after ::cancel
Matthias Clasen [Mon, 28 May 2018 16:09:47 +0000 (12:09 -0400)]
x11: Don't set NET_WM_PID when sandboxed
It is not useful, and some window managers misinterpret it and
add some "runs as root" indication to the window decoration.
See https://github.com/mate-desktop/marco/issues/301
Matthias Clasen [Mon, 28 May 2018 16:04:17 +0000 (12:04 -0400)]
gdk: Add a private api to find sandboxes
This will be used in more places in the future.
Daniel Mustieles [Mon, 28 May 2018 15:53:58 +0000 (15:53 +0000)]
Update Spanish translation
Daniel Boles [Sun, 27 May 2018 17:10:02 +0000 (18:10 +0100)]
gdkdnd: Fix 2 typos in docs
Christoph Reiter [Sun, 27 May 2018 16:38:28 +0000 (18:38 +0200)]
ci: update the docker image to fedora 28
So we get a newer pango
Matthias Clasen [Sun, 27 May 2018 15:50:45 +0000 (15:50 +0000)]
Merge branch 'gtk-3-24' into 'gtk-3-24'
icontheme: Keep dir_mtimes in order
See merge request GNOME/gtk!162
Piotr Drąg [Sun, 27 May 2018 06:16:50 +0000 (08:16 +0200)]
Update Polish translation
Piotr Drąg [Sun, 27 May 2018 06:03:18 +0000 (08:03 +0200)]
Update POTFILES.in and POTFILES.skip
Daniel Boles [Sat, 26 May 2018 00:06:00 +0000 (01:06 +0100)]
SpinButton: Fix an obviously wrong arg description
:climb-rate is not about what you get when you single-click on a button,
as this implied: it's what happens if you hold down a button or a key.
Fix the description of @climb_rate to new(), and while here, mention the
key in the blurb of :climb-rate itself.
Daniel Boles [Tue, 22 May 2018 00:16:04 +0000 (01:16 +0100)]
GdkWin: Avoid leak if bailing from process_updates
There is no point creating the list if we don't need to because we are
failing out, and even less point in leaking it in that case.
Daniel Boles [Mon, 21 May 2018 23:00:32 +0000 (00:00 +0100)]
StyleContext: Add a missing apostrophe
(or rather, the right single quote dictated by the HIG, which is
semantically not an apostrophe at all! I will die on this hill.)
Olivier Fourdan [Thu, 19 Apr 2018 12:22:04 +0000 (14:22 +0200)]
wayland: check native window for crossing events
gdk_wayland_*_grab()/ungrab() would emit crossing events which translate
as focus_in/focus_out events for keyboard.
However, the ungrab() functions compare the native toplevel as this is
what gets the Wayland pointer enter/leave events with the grab window,
so if the grab is issued on a child gdk window, those won't match and we
would emit more focus_out events than focus_in events.
This means that a widget such as spice-gtk which issues a keyboard grab
whenever the pointer enters the window and releases the grab when it
leaves the window would get uneven numbers of focus_in/focus_out events.
Also, gdk_wayland_seat_ungrab() would not emit crossing events for
keyboard devices, whereas gdk_wayland_device_ungrab() does, which adds
even more potential discrepancies between focus_in/focus_out events.
To solve this problem, introduce two new helper functions which check
the relevant native windows to emit crossing events when needed that get
called evenly from both gdk_wayland_seat_grab()/ungrab() and gdk_Wayland
_device_grab()/ungrab() APIs.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=780422
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/792
Jan Alexander Steffens (heftig) [Wed, 23 May 2018 18:06:01 +0000 (20:06 +0200)]
icontheme: Keep dir_mtimes in order
Don't reverse the order each time we insert a theme. Reverse it only
once, after all themes have been loaded.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1115
Daniel Boles [Mon, 21 May 2018 22:38:23 +0000 (23:38 +0100)]
StyleContext: Don't advise using invalidate()
It's deprecated. Also, set_screen() is not used/needed in the demo cited
Matthias Clasen [Mon, 21 May 2018 21:15:41 +0000 (17:15 -0400)]
Remove the "without parent" warning
We've had it for a long time, and it hasn't really made
a difference. And I don't think we are prepared to turn
this into a hard error. So just drop it.
Daniel Boles [Mon, 21 May 2018 18:42:57 +0000 (19:42 +0100)]
Range: Up should only mean ++ if we are a GtkScale
The last round of patches to get the desired direction of value move in
response to scrolls/keypresses on scales had the inadvertent side effect
of giving the opposite direction on scrollbars. Seeing as gtkrange.c is
already a collection of hacks, add another so that fix only holds if the
instance is a GtkScale, since that is what those patches were aimed at.
Close https://gitlab.gnome.org/GNOME/gtk/issues/1065
Daniel Boles [Sun, 20 May 2018 18:28:13 +0000 (19:28 +0100)]
ProgressBar: Fix typo in doc comment
Matthias Clasen [Sat, 31 Mar 2018 18:43:04 +0000 (14:43 -0400)]
font chooser: Support font variations
Add sliders for the axes on the tweak page.
Matthias Clasen [Sat, 31 Mar 2018 13:57:34 +0000 (09:57 -0400)]
font chooser: Add properties for font features and language
These can't be returned as part of the font description,
so we need new api for them. For now, this is just readonly
properties. Maybe these should be writable too, eventually.
Matthias Clasen [Sat, 31 Mar 2018 13:37:18 +0000 (09:37 -0400)]
font chooser: Add font features
Populate the tweak page with OpenType font features.
Matthias Clasen [Sat, 31 Mar 2018 02:49:07 +0000 (22:49 -0400)]
font chooser: Add a tweak page
Matthias Clasen [Fri, 30 Mar 2018 19:02:49 +0000 (15:02 -0400)]
font chooser: introduce font chooser levels
This is a more systematic approach to reducing the
level of detail in the font chooser.
Matthias Clasen [Sat, 31 Mar 2018 17:35:16 +0000 (13:35 -0400)]
Bump the pango requirement
We want to use the new font variation api in pango 1.41.
Matthias Clasen [Thu, 17 May 2018 18:28:28 +0000 (19:28 +0100)]
Add a flatpak manifest for widget-factory
This makes it easier to build GTK+.
Matthias Clasen [Thu, 17 May 2018 15:19:49 +0000 (15:19 +0000)]
Merge branch '1053-scroll-cursor-gets-left-behind-if-a-child-widget-steals-the-scroll' into 'gtk-3-22'
Resolve "Scroll cursor gets left behind if a child widget steals the scroll"
See merge request GNOME/gtk!134
Matthias Clasen [Mon, 14 May 2018 12:03:34 +0000 (13:03 +0100)]
textview: Don't scroll for pastes in another view
GtkTextView scrolls to the insertion point when the text
buffer signals a paste is done. This is wrong when there
are multiple views on the same buffer, and the paste
happened in another view.
To fix this, flip the handling of the scroll_after_paste
boolean to only be TRUE if we know that we want to scroll.
Benjamin Otte [Wed, 16 May 2018 12:48:46 +0000 (12:48 +0000)]
Merge branch '1069-thread-1-glade-received-signal-sigfpe-arithmetic-exception' into 'gtk-3-22'
Resolve "Thread 1 "glade" received signal SIGFPE, Arithmetic exception."
See merge request GNOME/gtk!151
Mohammed Sadiq [Sun, 13 May 2018 07:57:07 +0000 (13:27 +0530)]
appchooserdialog: Fix memory leak
Mohammed Sadiq [Sun, 13 May 2018 07:51:06 +0000 (13:21 +0530)]
appchooserdialog: Don't fire notify::heading twice
The gtk_app_chooser_dialog_set_heading() function do emit
notify::heading. Since the setter simply calls the function,
the setter itself shouldn't emit a notify signal by itself.
Mohammed Sadiq [Fri, 11 May 2018 04:49:09 +0000 (10:19 +0530)]
textview: Always show select-all button in touch popup
"Select all" action is possible regardless of the text selection state
or if the text is editable or not.
Mohammed Sadiq [Fri, 11 May 2018 03:17:56 +0000 (08:47 +0530)]
textview: Simplify creating bubble action buttons
Buttons can be created simply with gtk_button_new_from_icon_name().
Juan Pablo Ugarte [Sat, 12 May 2018 14:06:37 +0000 (11:06 -0300)]
GtkBox: do not divide by zero on gtk_box_size_allocate_with_center()
https://gitlab.gnome.org/GNOME/gtk/issues/1069
Chun-wei Fan [Sat, 12 May 2018 03:03:55 +0000 (11:03 +0800)]
Visual Studio 2008 builds: Generate gtk/gtktypefuncs.c
This is the updates to the Visual Studio 2008 projects to generate
gtk/gtktypefuncs.c using the preprocessor and the gentypefuncs.py that
was adapted from master.
Unfortunately we could not clean up the projects as we did for the 201x
ones due to the differences in project file format.
Chun-wei Fan [Sat, 12 May 2018 02:52:47 +0000 (10:52 +0800)]
Visual Studio 201x builds: Clean up project files
Combine repetitive parts, and unify using $(PythonDir) for all builds,
which the paths set in the property sheets are now based on the Visual
Studio version and platform combination.
Chun-wei Fan [Sat, 12 May 2018 02:24:59 +0000 (10:24 +0800)]
Visual Studio 201x builds: Fix previous commit
Not that it will make a difference, but to be consistent with the
autotools builds. Include gtkx.h instead of gtk.h when we generate the
source to feed to the preprocessor.
Chun-wei Fan [Fri, 11 May 2018 17:12:23 +0000 (01:12 +0800)]
Visual Studio 201x builds: Generate gtk/gtktypefuncs.c
We now need to generate gtktypefuncs.c by ourselves, so modify the
gentypefuncs.py script from master, and add a custom build step in the
projects to generate gtktypefuncs.c. The custom build step for the 2008
projects will be added later.
Matthias Clasen [Fri, 11 May 2018 15:24:55 +0000 (15:24 +0000)]
Merge branch 'wip/restart-cursor-animation-gtk-3' into 'gtk-3-22'
wayland: Fix restarting cursor animation
See merge request GNOME/gtk!150
Chun-wei Fan [Fri, 11 May 2018 10:05:46 +0000 (18:05 +0800)]
gtk/Makefile.am: Fix Visual Studio project generation
We now need the generated sources to be included explicitly in the list
so that they get listed in the project files to be built.
Jonas Ådahl [Wed, 9 May 2018 20:13:10 +0000 (22:13 +0200)]
wayland: Fix restarting cursor animation
When an animated cursor was set and the previous cursor animation delay
happened to be the same, we wouldn't restart the animation timeout and
just return G_SOURCE_CONTINUE assuming the timer would continue. This
assumption is however only valid if the function was called from the
timeout, which is not the case.
Instead also arm the timer also if there is no previous timer active.
John Ralls [Tue, 1 May 2018 03:34:45 +0000 (20:34 -0700)]
[Quartz] Hardcode screen resolution for text at 96.0.
It seems that CoreText is internally calibrated for this, see
https://bugzilla.gnome.org/show_bug.cgi?id=787867 for a detailed
discussion.
Benjamin Otte [Tue, 10 Apr 2018 12:22:16 +0000 (14:22 +0200)]
gtk: Fix reserved pointers
So gcc stops complaining about unnecessary parenthesis.
Closes #1059
Björn Lindqvist [Mon, 24 Mar 2008 21:31:22 +0000 (21:31 +0000)]
Range: Bin pointless check before emitting signal
In scroll_event(), there is no need to check whether we are realized
before emitting ::change-value, as we must be when receiving an event.
Git-formatted/rebased/cleaned up by Daniel Boles <dboles.src@gmail.com>
Close https://gitlab.gnome.org/GNOME/gtk/issues/292
Daniel Boles [Sun, 6 May 2018 10:41:12 +0000 (11:41 +0100)]
Menu: cleanups for previous commit and nearby
• #include <math.h> for the new uses of floor()
• Move the new ints and popdown_data into the scopes where they are used
• Don’t pointlessly init other ints to 0 as they always get reassigned
• Burninate gint
Sam Douglas [Tue, 15 Nov 2016 02:57:43 +0000 (02:57 +0000)]
Menu: Fix broken navigation triangle/hysteresis
This issue was caused when mouse coordinates were changed to floating
point values in commit
e8b38fedbd8961df4aaaa75b122a06ddc68e75f2.
This patch floors the event->x_root and event->y_root values when
setting the navigation region, so the previous behaviour is restored.
https://gitlab.gnome.org/GNOME/gtk/issues/450
Daniel Boles [Sat, 5 May 2018 10:40:43 +0000 (11:40 +0100)]
ScrolledWindow: Unset cursor if child takes scroll
https://gitlab.gnome.org/GNOME/gtk/issues/1053
Benjamin Otte [Fri, 4 May 2018 09:26:15 +0000 (11:26 +0200)]
x11: Set a transparent background on windows by default
This avoids black flicker on compositing WMs when a window is first shown.
Matthias Clasen [Fri, 4 May 2018 00:18:48 +0000 (20:18 -0400)]
emoji chooser: Match search terms better
Use g_str_match_string for better results.
cherry-pick of
be2853e5deb60274e43352352de74dc458908fe2
https://gitlab.gnome.org/GNOME/gtk/issues/898
Matthias Clasen [Wed, 2 May 2018 10:56:25 +0000 (10:56 +0000)]
Merge branch 'wip/lantw/gtk3-use-dev-evdev-input-h-on-freebsd' into 'gtk-3-22'
wayland: Use dev/evdev/input.h on FreeBSD (GTK3)
See merge request GNOME/gtk!132
Jiri Grönroos [Tue, 1 May 2018 19:47:02 +0000 (19:47 +0000)]
Update Finnish translation
Ting-Wei Lan [Tue, 1 May 2018 14:00:31 +0000 (22:00 +0800)]
wayland: Use dev/evdev/input.h on FreeBSD
The header linux/input.h used by GDK is specific to Linux. It is
possible to get a few Linux headers on FreeBSD by installing v4l_compat,
but it is usually better to use the one shipped with FreeBSD.
We prefer dev/evdev/input.h to linux/input.h here, so it will always use
dev/evdev/input.h on FreeBSD regardless of v4l_compat.
https://svnweb.freebsd.org/changeset/ports/465644
Benjamin Otte [Mon, 30 Apr 2018 11:57:14 +0000 (11:57 +0000)]
Merge branch '169-gtktextview-accesses-already-disposed-object-3-22' into 'gtk-3-22'
Resolve "GtkTextView accesses already disposed object" in 3.22
See merge request GNOME/gtk!110
Benjamin Otte [Mon, 30 Apr 2018 09:55:45 +0000 (09:55 +0000)]
Merge branch 'window-activate-grab-3-3' into 'gtk-3-22'
gdk: do not deactivate window on keyboard grabs
See merge request GNOME/gtk!127
Samuel Thibault [Thu, 19 Apr 2018 12:10:23 +0000 (14:10 +0200)]
gdk: do not deactivate surface on keyboard grabs
When pressing e.g. a window manager shortcut, which acquires keyboard grab,
Xorg would send FocusOut NotifyGrab then FocusIn NotifyUngrab. Currently
gdk would then deactivate the current surface, which makes accessibility
screen readers think that we have switched to a non-accessible application
and came back again, and thus reannounce the application frame etc. which we
don't want when e.g. just raising volume.
And actually, receiving FocusOut NotifyGrab does not mean losing the
X focus, it only means an application aqcuired a grab, i.e. it is
temporarily stealing keyboard events. On Wayland, this isn't even
notified actually.
This commit makes gdk only deactivate surfaces when there was an actual
focus switch to another window, as determined by has_focus_window (instead
of just has_focus), which happens either normally through FocusOut with
NotifyNormal, or during grabs through FocusOut with NotifyWhileGrabbed.
Fixes #85
(cherry picked from commit
01455399e83a3dbafb0cdc6e12c7003b2f472a40)
Руслан Ижбулатов [Thu, 26 Apr 2018 19:46:24 +0000 (19:46 +0000)]
gtkselection: ensure W32 functions used only for W32 displays (v2)
Another instance of a check needed for gdk_win32_selection_add_targets().
Руслан Ижбулатов [Thu, 26 Apr 2018 19:36:27 +0000 (19:36 +0000)]
gtkselection: ensure W32 functions used only for W32 displays
gdk_win32_selection_add_targets() is for W32 displays only.
Руслан Ижбулатов [Thu, 26 Apr 2018 17:42:49 +0000 (17:42 +0000)]
imcontextsimple: ensure W32 code only runs on W32 displays
gdk_win32_keymap_check_compose() shouldn't be called for
non-W32 displays (i.e. when using broadway or other backends
that could be made to run on Windows).
Benjamin Otte [Wed, 25 Apr 2018 21:57:44 +0000 (23:57 +0200)]
fishbowl: Port version from GTK 4
This version also merges widgetbowl into fishbowl.
Adrian Johnson [Mon, 16 Apr 2018 11:53:44 +0000 (13:53 +0200)]
Add _gtk_printer_get_hard_margins_for_paper_size()
to retreive paper size specific hard margins and use this
to set the hard margins in the print context.
(modified by Marek Kasik <mkasik@redhat.com>)
https://bugzilla.gnome.org/show_bug.cgi?id=686109
Daniel Mustieles [Wed, 25 Apr 2018 11:29:02 +0000 (11:29 +0000)]
Update Spanish translation
Daniel Boles [Tue, 24 Apr 2018 12:40:02 +0000 (13:40 +0100)]
testentrycompletion: Avoid a compiler cast warning
Instead of getting the model again but then forgetting to cast it to a
ListStore, just use the other variable store where we already did both.
Stas Solovey [Tue, 24 Apr 2018 10:00:32 +0000 (10:00 +0000)]
Update Russian translation
Emmanuele Bassi [Mon, 23 Apr 2018 09:02:43 +0000 (10:02 +0100)]
wayland: Allow a NULL inhibitors hash table
The shortcuts inhibitors hash table is created when we create a
GdkWaylandWindow implementation for a GdkWindow, and it's destroyed once
we finalize the instance. The fake "root" window we create for the
Wayland display does not have a backing native window, so the shortcuts
inhibitors hash table is set to NULL; this causes a critical error
message when calling g_hash_table_destroy() on it. The finalization of
the root window happens when we close a display connection.
We should use g_clear_pointer(), instead, as it's NULL safe.
Without this change, the displayclose test fails, as all warnings are
considered fatal.
Emmanuele Bassi [Mon, 23 Apr 2018 08:12:13 +0000 (09:12 +0100)]
build: Do not dist generated files
We expect these files to be regenerated even when building GTK+ from a
release tarball, so there's no point in distributing them if they are
going to be ignored.
Emmanuele Bassi [Thu, 16 Feb 2017 00:04:50 +0000 (00:04 +0000)]
x11: Query whether we have GLX support
Epoxy 1.4 has new ad hoc API that we can use to check whether GLX is
available on the current system.
If we didn't use this API, we'd have to manually dlopen libGL (or its
equivalent on different OSes) and check if it had GLX symbols; since
Epoxy already does all of this internally, we can simply ask it instead.
https://bugzilla.gnome.org/show_bug.cgi?id=775279
(cherry picked from commit
02eb344950547c66a9096094f271b98e94614fcb)
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
Emmanuele Bassi [Wed, 11 Apr 2018 15:31:55 +0000 (16:31 +0100)]
Bump up the dependency of libepoxy
We're going to use API introduced in libepoxy 1.4 to check for GLX
availability.
https://bugzilla.gnome.org/show_bug.cgi?id=775279
Daniel Boles [Sun, 22 Apr 2018 21:20:57 +0000 (22:20 +0100)]
themes: Fix a new comment
bah.
Daniel Boles [Sun, 22 Apr 2018 20:43:20 +0000 (21:43 +0100)]
themes: Fix swapped borders on RTL PathBar buttons
.linked assumes the container is a GtkBox, which is documented as never
flipping children in RTL, so :first-child is always the left child, etc.
GtkBox does that by reordering its CSS nodes when the direction changes.
But most widgets don’t do that, so :first|last-child are 1st/last ADDED
and swap sides in RTL. GtkPathBar is so, and ignoring that in our themes
meant that in RTL, its left/right buttons got each other’s borders. Yuk!
This patch adds the groundwork for supporting widgets like that, via the
%linked_flippable placeholder, and applies that to override buttons in
filechooser .path-bar.linked > button
so that the correct borders get applied to those buttons when using RTL.
Note that I select only PathBars within a FileChooser because we also
have NautilusPathBar, which also uses widget.path-bar – but *does* flip
its nodes for RTL already, so letting that get affected broke it again!
https://bugzilla.gnome.org/show_bug.cgi?id=772817
Daniel Boles [Sun, 22 Apr 2018 15:25:54 +0000 (16:25 +0100)]
MenuButton: popover connects to menu_deactivate_cb
This was missed (even before my recent patches).
https://gitlab.gnome.org/GNOME/gtk/issues/199
Daniel Boles [Sun, 22 Apr 2018 15:25:07 +0000 (16:25 +0100)]
MenuButton: Disconnect newly added signal handler
Otherwise, we do stuff we shouldn't, as the failing pipeline showed:
https://gitlab.gnome.org/GNOME/gtk/pipelines/9431
https://gitlab.gnome.org/GNOME/gtk/issues/199
Daniel Boles [Sun, 22 Apr 2018 15:02:55 +0000 (16:02 +0100)]
MenuButton: Clarify NULL popup/over/menu/model doc
Daniel Boles [Sun, 22 Apr 2018 13:52:27 +0000 (14:52 +0100)]
MenuButton: Drop ref to Popover on its ::destroy
Otherwise, if the Popover is destroyed before the MenuButton, the latter
still had a non-NULL but invalid instance and tried to use it in dispose
https://gitlab.gnome.org/GNOME/gtk/issues/199
Daniel Boles [Sat, 21 Apr 2018 00:34:41 +0000 (01:34 +0100)]
docs/running: Document the GTK_OVERLAY_SCROLLING env var
https://bugzilla.gnome.org/show_bug.cgi?id=786524
Daniel Boles [Sat, 21 Apr 2018 00:02:59 +0000 (01:02 +0100)]
Stock: Emphasise deprecation; explain alternatives
A user in #gtk+ was confused what to do instead of creating a Button via
gtk_button_new_from_stock(). Our docs could stand to be clearer on this
point; it only costs a few lines. So, link from that constructor* to the
GtkStock doc, and add a banner there telling folk they shouldn’t use it.
* not that most [of these][links] even work right now…
Daniel Boles [Wed, 18 Apr 2018 23:50:50 +0000 (00:50 +0100)]
Entry: Show optional style classes in node diagram
Daniel Boles [Wed, 18 Apr 2018 23:13:04 +0000 (00:13 +0100)]
gdkselection: Clarify that X is only a design base
rather than being a requirement for using our selection APIs.
https://bugzilla.gnome.org/show_bug.cgi?id=791542
Juan Pablo Ugarte [Thu, 19 Oct 2017 18:16:43 +0000 (15:16 -0300)]
a11y/ScrolledWin|IconView: Connect signals safely
Use g_signal_connect_data() instead of g_signal_connect_object()
to make sure the callback gets disconnected when the data object
is destroyed. This avoids problems in garbage-collected bindings.
https://bugzilla.gnome.org/show_bug.cgi?id=789215
Matthias Clasen [Fri, 20 Apr 2018 20:56:28 +0000 (16:56 -0400)]
printing: Be more careful when deserializing
The GVariant we are getting here might not be coming
from GTK+, but rather from some other source. Best to
be forgiving and deal with missing data without crashing.
This was causing the GTK+ portal backends to crash on
print requests from Qt.
Emmanuele Bassi [Thu, 19 Apr 2018 08:38:09 +0000 (08:38 +0000)]
Merge branch 'stack-set-name-guard' into 'gtk-3-22'
stack: protect set_visible_child_name from NULL stack
See merge request GNOME/gtk!117
Emmanuele Bassi [Thu, 19 Apr 2018 08:24:49 +0000 (08:24 +0000)]
Merge branch 'gtkplacesview-finalization-fixes-master' into 'master'
Gtkplacesview finalization fixes
See merge request GNOME/gtk!119
(cherry picked from commit
e30176a5228228f28f914d87120b9a650d0073b8)
f9452957 gtkplacesview: unset entry_pulse_timeout_id before removing it
4900c3eb gtkplacesview: disconnect from server list monitor changes on destroy
Marco Trevisan (Treviño) [Thu, 19 Apr 2018 01:58:57 +0000 (20:58 -0500)]
stack: protect set_visible_child_name from NULL stack
Return with error if gtk_stack_set_visible_child_name is called
with NULL parameter
Daniel Boles [Wed, 18 Apr 2018 22:31:47 +0000 (23:31 +0100)]
UIManager: Document deprecation; link replacements
Close https://gitlab.gnome.org/GNOME/gtk/issues/193
Daniel Boles [Mon, 1 Jan 2018 14:28:16 +0000 (14:28 +0000)]
Range: Use should_invert_move() to scroll value
This fixes RTL and/or :inverted Ranges responding to a horizontal scroll
by moving the value/slider button in the opposite direction... See prev.
https://bugzilla.gnome.org/show_bug.cgi?id=791802
Daniel Boles [Tue, 17 Apr 2018 20:44:16 +0000 (21:44 +0100)]
Range: Add should_invert_move() for scrolls & keys
This will be used in subsequent commits to fix the sign by which the
value is changed in response to directional scroll or keypress events.
The idea is: you have a movement to make – in the form of a delta that
follows widget directions, i.e. −1 means left or up, +1 means right or
down – and you want to know whether that delta needs to be inverted in
order to produce the intuitively expected directional change of :value.
The existing should_invert() is not sufficient: it just determines
whether to invert visually, but we need more nuance than that for input.
To answer that – while not doubling up the work for scrolls and keys – I
add a helper should_invert_move(), which considers other relevant state:
• A parallel movement on priv->orientation should just use the existing
should_invert(), which already worked OK for this case (not others).
• Movements on the other orientation now depend on priv->orientation:
◦ For a horizontal Range, always invert, so up (i.e. −ve in terms of
widget coords) always means increase value & vice-versa. This was
done in get_wheel_delta(), but move it here for use with keys too.
◦ For a vertical Range, ignore :invert as it’s only relevant to the
parallel orientation. Do not care about text direction here either
as RTL locales do not invert number lines, Cartesian plots, etc.
This returns TRUE if the delta should be inverted before applying to the
value, and we can now use this function in both scroll and key handlers.
https://bugzilla.gnome.org/show_bug.cgi?id=407242
https://bugzilla.gnome.org/show_bug.cgi?id=791802
Daniel Boles [Tue, 17 Apr 2018 19:03:07 +0000 (20:03 +0100)]
Menu|Item: Fix FIXME re non-const interned strings
These are members of the private struct, so it hurts no one to fix this.
Daniel Boles [Tue, 17 Apr 2018 18:56:54 +0000 (19:56 +0100)]
Menu: Sanitise @torn_off gboolean in public API